Skip to content

Conversation

jeffsmale90
Copy link
Contributor

@jeffsmale90 jeffsmale90 commented Aug 20, 2025

Moved the compatibility test into it's own workflow.

This implements the change described here MetaMask/metamask-module-template#269, ensuring that the compatibility test continues to provide value in identifying issues, but does not hold up individual PRs that do not introduce these issues.

The workflow uses a flag to specify whether the compatibility test is enabled, keeping the branching logic in the main workflow file. The compatibility-test.yml workflow cannot be a single job with if: inputs.enabled, because this would mark the workflow as skipped, causing the all-jobs-complete job to also be marked as skipped.

all-jobs-complete does not depend on compatibility-test so compatibililty-test can simply be skipped in non-main branches.

@jeffsmale90 jeffsmale90 marked this pull request as ready for review August 20, 2025 02:45
@jeffsmale90 jeffsmale90 requested a review from a team as a code owner August 20, 2025 02:45
@jeffsmale90 jeffsmale90 changed the title Run compatibility checks only in main branch. Run compatibility test only in main branch. Aug 20, 2025
@jeffsmale90 jeffsmale90 force-pushed the chore/compatibility-check-only-main branch from 2c5bf88 to fec6c21 Compare August 20, 2025 09:55
Moved the compatibility check into it's own workflow. The workflow uses a flag to specify whether the step is enabled, as it cannot just be skipped, due to the all-jobs-complete dependency on the compatibility-test.
@jeffsmale90 jeffsmale90 force-pushed the chore/compatibility-check-only-main branch from fec6c21 to e796473 Compare August 20, 2025 09:56
@Gudahtt
Copy link
Member

Gudahtt commented Aug 20, 2025

name: Compatibility test
uses: ./.github/workflows/compatibility-test.yml
with:
enabled: ${{ github.ref == 'refs/heads/main' }}
Copy link
Member

@Gudahtt Gudahtt Aug 20, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Interesting idea, but maybe it would be simpler to skip the job here rather than using a parameter to skip inside the compatibility-test workflow?

Copy link
Contributor

@mcmire mcmire Aug 20, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since the job is now added to all-jobs-completed would skipping the job here instead of in the workflow cause all-jobs-completed to fail if not on main?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well, since this is an optional job, it doesn't need to be listed as a dependency of all-jobs-completed necessarily.

Comment on lines 12 to 18
enabled-check:
runs-on: ubuntu-latest
steps:
- name: Skipping compatibility test
if: !inputs.enabled
run: echo "Skipping compatibility test"

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we remove this?

Suggested change
enabled-check:
runs-on: ubuntu-latest
steps:
- name: Skipping compatibility test
if: !inputs.enabled
run: echo "Skipping compatibility test"

Comment on lines 44 to 45
with:
enabled: ${{ github.ref == 'refs/heads/main' }}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we replace this with the following?

Suggested change
with:
enabled: ${{ github.ref == 'refs/heads/main' }}
if: ${{ github.ref == 'refs/heads/main' }}

- check-workflows
- analyse-code
- build-lint-test
- compatibility-test
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we remove this?

Suggested change
- compatibility-test

Comment on lines 5 to 10
inputs:
enabled:
required: false
type: boolean
default: true

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we remove these lines?

Suggested change
inputs:
enabled:
required: false
type: boolean
default: true

Comment on lines 20 to 21
needs: enabled-check
if: inputs.enabled
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we remove these lines?

Suggested change
needs: enabled-check
if: inputs.enabled

name: Compatibility test
uses: ./.github/workflows/compatibility-test.yml
if: ${{ github.ref == 'refs/heads/main' }}

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: Compatibility Test Not Blocking Main Branch

The new compatibility-test job isn't listed as a dependency for all-jobs-completed. This means compatibility-test failures on the main branch won't block the overall workflow from succeeding, potentially allowing problematic releases.

Fix in Cursor Fix in Web

Copy link
Contributor

@mcmire mcmire left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Makes sense to me!

Copy link
Member

@Gudahtt Gudahtt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@jeffsmale90 jeffsmale90 merged commit 45ed998 into main Aug 20, 2025
20 checks passed
@jeffsmale90 jeffsmale90 deleted the chore/compatibility-check-only-main branch August 20, 2025 19:03
jeffsmale90 added a commit that referenced this pull request Sep 3, 2025
Adds methods `wallet_requestExecutionPermissions` and
`wallet_revokeExecutionPermission`, as defined in this revision of the
EIP-7715 specification ethereum/ERCs#1098.

This supports Readable Permissions project, and is related to the
following PRs:
- MetaMask/delegation-toolkit#60
- MetaMask/metamask-extension#35193

Note: workflows are failing due to existing problems, fixed by
#397
jeffsmale90 added a commit that referenced this pull request Sep 3, 2025
This is the release for version 17.1.0.

```
a10c7fb feat: add RPC methods described in (revised) EIP-7715 (#396)
45ed998 Run compatibility test only in main branch. (#397)
```

---------

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Jeff Smale <6363749+jeffsmale90@users.noreply.github.com>
Co-authored-by: Elliot Winkler <elliot.winkler@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants